package com.servlet;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;

@WebServlet("/myservlet")
public class MyServlet implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        // 该接口用来描述Servlet的基本信息
//        System.out.println(servletConfig.getServletName());// 返回Servlet的名称，全类名(带着包名的类名)
//        servletConfig.getInitParameter(" ") ;// 返回init参数的值
//        servletConfig.getInitParameterNames();// 返回所有的getInitParameter的name值，一般用作遍历初始化参数
        /**
         * servletConfig 作用于某个Servlet实例，每个Servlet都有对应的servletConfig
         * servletContext作用于整个web的应用，一个web应用对应一个servletContext，
         * 多个Servlet实例对应一个servletContext
         */
        // 返回ServletContext对象，他是Servlet的上下文，是整个Servlet的管理者
        ServletContext servletContext = servletConfig.getServletContext();
        System.out.println(servletContext.getContextPath());// 拿到上下文的路径
        System.out.println(servletContext.getServerInfo());// 拿到版本
        System.out.println("完成对Servlet的初始化操作");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        String id = servletRequest.getParameter("id");
        System.out.println("你好，这里是客户端~~~,参数是"+id);
        servletResponse.setContentType("text/html;charset=UTF-8");
        servletResponse.getWriter().write("客户端你好，我已经接收到你的请求！");
    }
    @Override
    public String getServletInfo() {
        return null;
    }
    @Override
    public void destroy() {
        System.out.println("释放了Servlet对象");
    }
}
